google.golang.org/protobuf/internal/impl.ExtensionField.lazy (field)
30 uses
google.golang.org/protobuf/internal/impl (current package)
codec_extension.go#L87: lazy *lazyExtensionValue
codec_extension.go#L91: if f.lazy == nil {
codec_extension.go#L92: f.lazy = &lazyExtensionValue{xi: xi}
codec_extension.go#L95: f.lazy.xi = xi
codec_extension.go#L96: f.lazy.b = protowire.AppendTag(f.lazy.b, num, wtyp)
codec_extension.go#L97: f.lazy.b = append(f.lazy.b, b...)
codec_extension.go#L104: if f.typ == xt && f.lazy != nil && atomic.LoadUint32(&f.lazy.atomicOnce) == 0 {
codec_extension.go#L111: f.lazy.mu.Lock()
codec_extension.go#L112: defer f.lazy.mu.Unlock()
codec_extension.go#L113: if atomic.LoadUint32(&f.lazy.atomicOnce) == 1 {
codec_extension.go#L116: if f.lazy.xi != nil {
codec_extension.go#L117: b := f.lazy.b
codec_extension.go#L139: val, out, err = f.lazy.xi.funcs.unmarshal(b, val, num, wtyp, lazyUnmarshalOptions)
codec_extension.go#L145: f.lazy.value = val
codec_extension.go#L147: f.lazy.value = f.lazy.fn()
codec_extension.go#L149: f.lazy.xi = nil
codec_extension.go#L150: f.lazy.fn = nil
codec_extension.go#L151: f.lazy.b = nil
codec_extension.go#L152: atomic.StoreUint32(&f.lazy.atomicOnce, 1)
codec_extension.go#L160: f.lazy = nil
codec_extension.go#L167: f.lazy = &lazyExtensionValue{fn: fn}
codec_extension.go#L173: if f.lazy != nil {
codec_extension.go#L174: if atomic.LoadUint32(&f.lazy.atomicOnce) == 0 {
codec_extension.go#L177: return f.lazy.value
codec_extension.go#L222: return f.typ == xt && f.lazy != nil && atomic.LoadUint32(&f.lazy.atomicOnce) == 0